package Modelo;

import java.util.ArrayList;

public class Profesor {

    private String cedula;
    private String nombre;
    private String telefono;
    private String direccion;
    private String gradoAcademico;
    private String tipo;
    private String restriccion;
    private ArrayList<String> materias;
    private ArrayList<Grupo> grupos;
    private ArrayList<Lecciones> lecciones;
    private ArrayList<Nivel> niveles;

    public Profesor() {
        this.setCedula("");
        this.setNombre("");
        this.setTelefono("");
        this.setDireccion("");
        this.setGradoAcademico("");
        this.setTipo("");
        this.setRestriccion("");
        materias = new ArrayList<>();
        grupos = new ArrayList<>();
        lecciones = new ArrayList<>();
        niveles = new ArrayList<>();
    }

    public Profesor(String pCed, String pNom, String pTel,String pDir,
            String pGrado,String pRestriccion, String pTipo) {
        this.setCedula(pCed);
        this.setNombre(pNom);
        this.setTelefono(pTel);
        this.setDireccion(pDir);
        this.setGradoAcademico(pGrado);
        this.setTipo(pTipo);
        this.setRestriccion(pRestriccion);
        this.materias = new ArrayList();
        this.grupos = new ArrayList();
        this.lecciones = new ArrayList();
        this.niveles= new ArrayList();
    }
       public Profesor(String pCed) {
        this.setCedula(pCed);
        this.setNombre("");
        this.setTelefono("");
        this.setDireccion("");
        this.setGradoAcademico("");
        this.setTipo("");
        this.setRestriccion("");
        materias = new ArrayList<>();
        grupos = new ArrayList<>();
        lecciones = new ArrayList<>();
        niveles = new ArrayList<>();
    }

    public String getCedula() {
        return cedula;
    }

    public void setCedula(String cedula) {
        this.cedula = cedula;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public String getDireccion() {
        return direccion;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    public String getGradoAcademico() {
        return gradoAcademico;
    }

    public void setGradoAcademico(String gradoAcademico) {
        this.gradoAcademico = gradoAcademico;
    }

    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }


    public String getRestriccion() {
        return restriccion;
    }

    public void setRestriccion(String restriccion) {
        this.restriccion = restriccion;
    }

    public ArrayList<String> getMaterias() {
        return materias;
    }

    public void setMaterias(ArrayList<String> materias) {
        this.materias = materias;
    }

    public ArrayList<Grupo> getGrupos() {
        return grupos;
    }

    public void setGrupos(ArrayList<Grupo> grupos) {
        this.grupos = grupos;
    }

    public ArrayList<Lecciones> getLecciones() {
        return lecciones;
    }

    public ArrayList<Nivel> getNiveles() {
        return niveles;
    }

    public void setNiveles(ArrayList<Nivel> niveles) {
        this.niveles = niveles;
    }
    
    

    public void setLecciones(ArrayList<Lecciones> lecciones) {
        this.lecciones = lecciones;
    }
    
    public void agregarGrupo(Grupo g){
        grupos.add(g);
    }
    
    public void eliminarGrupo(String g){
        for(int i=0;i<grupos.size();i++){
            if(grupos.get(i).getSeccion().equals(g)){
                grupos.remove(i);
            }
        }
    }
    
    public Grupo buscarGrupo(Grupo g){
        for(int i=0;i<grupos.size();i++){
            if(grupos.get(i).getSeccion().equals(g.getSeccion())){
                return grupos.get(i);
            }
        }
        return null;
    }
    
     public void agregarNivel(Nivel n){
        niveles.add(n);
    }
    
    public void eliminarNivel(String nivel){
        for(int i=0;i<niveles.size();i++){
            if(niveles.get(i).getIdNivel().equals(nivel)){
                grupos.remove(i);
            }
        }
    }
    
    public Nivel buscarNivel(Nivel n){
        for(int i=0;i<niveles.size();i++){
            if(niveles.get(i).getIdNivel().equals(n.getIdNivel())){
                return niveles.get(i);
            }
        }
        return null;
    }
    
    
    public void agregarMateria(String g){
        materias.add(g);
    }
    
    public void eliminarMateria(String g){
        for(int i=0;i<materias.size();i++){
            if(materias.get(i).equals(g)){
                materias.remove(i);
            }
        }
    }
    
    public String buscarMateria(Materia g){
        for(int i=0;i<materias.size();i++){
            if(materias.get(i).equals(g.getNombreMateria())){
                return materias.get(i);
            }
        }
        return null;
    }
    public void agregarLecciones(Lecciones g){
        lecciones.add(g);
    }
    
    public void eliminarLecciones(String anno){
        for(int i=0;i<lecciones.size();i++){
            if(lecciones.get(i).getAnno().equals(anno)){
                lecciones.remove(i);
            }
        }
    }
    
    public Lecciones buscarLecciones(Lecciones g){
        for(int i=0;i<lecciones.size();i++){
            if(lecciones.get(i).getAnno().equals(g.getAnno())){
                return lecciones.get(i);
            }
        }
        return null;
    }
}
